package main

import "fmt"
func sortIntAsc(slice []int) []int{
	// 选择排序实现升序排列
	// 12,34,35,556,36,2
	for i:=0;i<len(slice);i++{
		for j := i+1; j < len(slice); j++ {
			if(slice[i]>slice[j]){
				temp :=slice[i]
				slice[i]=slice[j]
				slice[j]=temp
			}			
		}
	}
	return slice

}
// 降序排序
func sortIntDesc(slice []int) []int{
	// 选择排序实现升序排列
	// 12,34,35,556,36,2
	for i:=0;i<len(slice);i++{
		for j := i+1; j < len(slice); j++ {
			if(slice[i]<slice[j]){
				temp :=slice[i]
				slice[i]=slice[j]
				slice[j]=temp
			}			
		}
	}
	return slice

}



// 求两个数的和
// func sumFunc(x int,y int) int{

// 	sum :=x + y
// 	return sum
// }
// 求两个数的差
// func subFn(x int,y int) int{
// 	fmt.Println(x,y)
// 	sub :=x - y
// 	return sub
// }
// 函数参数的简写
// func subFn1(x,y int) int{
// 	fmt.Println(x,y)
// 	sub :=x - y
// 	return sub
// }
// 函数的可变参数
// func sumFun1(x ...int) int{  //x是切片
// 	// fmt.Printf("%v--%T",x,x)
// 	sum :=0
// 	for _,val :=range x{
// 		sum +=val
// 	}
// 	return sum
// }
// func sumFun2(x int,y ...int) int{  //y是切片
// 	fmt.Printf("%v--%T\n",x,y)
// 	sum :=0
// 	for _,val :=range y{
// 		sum +=val
// 	}
// 	return sum
// }
// 函数的返回值
// func sumFc(x,y int)int{
// 	return x+y
// }

// return 关键词一次可以返回多个值
// func calc(x int,y int)(int,int){
// 	sum :=x+y 
// 	sub :=x-y 
// 	return sum,sub
// }
// return 关键词一次可以返回多个值另一种写法

//返回值命名
// func calc(x,y int)(sum int,sub int){
// 	fmt.Println(sum,sub)
// 	sum =x+y
// 	sub=x-y
// 	fmt.Println(sum,sub)
// 	return 
// }
// func calc(x,y int)(sum ,sub int){
// 	fmt.Println(sum,sub)
// 	sum =x+y
// 	sub=x-y
// 	fmt.Println(sum,sub)
// 	return 
// }
func main(){

	// 定义一个切片 升序
	// sliceA :=[]int{12,34,35,556,36,2}
	// arr :=sortIntAsc(sliceA)
	// fmt.Println(arr)
	// sliceB :=[]int{2,4,35,55,36,12}
	// arr2 :=sortIntAsc(sliceB)
	// fmt.Println(arr2)
// 降序
	var sliceC =[]int{1,34,5,36,126,99,2}
	arr3 :=sortIntDesc(sliceC)
	fmt.Println(arr3)
	// 把函数的返回值复制给sum1
	// sum1 :=sumFunc(12,3)
	// fmt.Println(sum1)

	// sum2 :=sumFunc(15,5)
	// fmt.Println(sum2)
	// // 
	// var a =20
	// b :=2
	// sub1:=subFn(a,b)
	// fmt.Println(sub1)
	// sumFun1(12,34,45,56)
	// sum3 :=sumFun1(12,34,45,56)
	// fmt.Println(sum3)
	// sum4 :=sumFun1(1,22,3,4,5)
	// sum5 :=sumFun2(100,1,2,3,4)
	// fmt.Println(sum5)

	// sum1 :=sumFc(10,2)
	// fmt.Println(sum1)

	// 获取多个返回值 用两个变量来接受
	//  sum,sub := calc(12,2)
	//  fmt.Println(sum,sub)
	// a,b :=calc(10,2)
	// fmt.Println(a,b)

// 只接受和不接受差
		// a,_ :=calc(10,2)
		// fmt.Println(a)
	

}